import 'package:seedfour/generated/json/base/json_field.dart';
import 'package:seedfour/generated/json/test_case_entity.g.dart';
import 'dart:convert';

@JsonSerializable()
class TestCaseEntity {
	TestCaseCaseInfo? caseInfo;
	List<TestCaseApproveList>? approveList;
	List<TestCaseDeliveryList>? deliveryList;
	List<dynamic>? archFiles;
	List<TestCaseContractFiles>? contractFiles;
	List<TestCaseOfflineDeliveryList>? offlineDeliveryList;
	List<TestCaseOrders>? orders;

	TestCaseEntity();

	factory TestCaseEntity.fromJson(Map<String, dynamic> json) => $TestCaseEntityFromJson(json);

	Map<String, dynamic> toJson() => $TestCaseEntityToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class TestCaseCaseInfo {
	int? createdAt;
	int? updatedAt;
	String? id;
	dynamic batchId;
	String? orgId;
	String? clientCode;
	String? clientName;
	dynamic clientContact;
	dynamic clientMobile;
	dynamic clientEmail;
	String? oppositeCode;
	String? oppositeName;
	String? thirdCode;
	String? thirdName;
	String? caseName;
	String? caseStatus;
	String? caseClass;
	String? caseBusiness;
	dynamic caseLevel1;
	dynamic caseLevel2;
	String? taker;
	String? payer;
	String? auditor;
	String? remarks;
	String? name;
	String? takername;
	int? auditedAt;
	int? paymentAt;
	dynamic settledAt;
	String? caseDate;
	String? suitType;
	String? lawsuitType;
	int? marginAmount;
	String? archive;
	String? cico;
	String? takerStr;
	bool? isOwner;
	String? caseTypeStr;
	String? caseNameStr;
	bool? isSignedContract;

	TestCaseCaseInfo();

	factory TestCaseCaseInfo.fromJson(Map<String, dynamic> json) => $TestCaseCaseInfoFromJson(json);

	Map<String, dynamic> toJson() => $TestCaseCaseInfoToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class TestCaseApproveList {
	int? createdAt;
	int? updatedAt;
	int? id;
	String? caseId;
	String? uid;
	int? type;
	int? approve;
	String? remark;
	String? approverName;

	TestCaseApproveList();

	factory TestCaseApproveList.fromJson(Map<String, dynamic> json) => $TestCaseApproveListFromJson(json);

	Map<String, dynamic> toJson() => $TestCaseApproveListToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class TestCaseDeliveryList {
	int? id;
	int? ph;
	int? req;
	String? desc;
	bool? checked;
	String? name;
	int? reqid;
	String? desc2;

	TestCaseDeliveryList();

	factory TestCaseDeliveryList.fromJson(Map<String, dynamic> json) => $TestCaseDeliveryListFromJson(json);

	Map<String, dynamic> toJson() => $TestCaseDeliveryListToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class TestCaseContractFiles {
	int? id;
	String? desc;
	String? name;
	String? dname;

	TestCaseContractFiles();

	factory TestCaseContractFiles.fromJson(Map<String, dynamic> json) => $TestCaseContractFilesFromJson(json);

	Map<String, dynamic> toJson() => $TestCaseContractFilesToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class TestCaseOfflineDeliveryList {
	int? id;
	int? ph;
	int? req;
	String? desc;
	bool? checked;
	String? name;
	int? reqid;
	String? desc2;

	TestCaseOfflineDeliveryList();

	factory TestCaseOfflineDeliveryList.fromJson(Map<String, dynamic> json) => $TestCaseOfflineDeliveryListFromJson(json);

	Map<String, dynamic> toJson() => $TestCaseOfflineDeliveryListToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class TestCaseOrders {
	String? id;
	String? title;
	int? createdAt;
	int? orderPayStatus;
	int? orderChargeStatus;
	String? orderChannelType;
	int? orderAmount;
	int? marginAmount;
	String? agentUid;
	int? collectionDate;
	String? agentUsername;
	String? invoice;
	String? createdAtStr;
	String? collectionDateStr;
	String? orderAmountStr;
	String? marginAmountStr;

	TestCaseOrders();

	factory TestCaseOrders.fromJson(Map<String, dynamic> json) => $TestCaseOrdersFromJson(json);

	Map<String, dynamic> toJson() => $TestCaseOrdersToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}